home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / packet / tfkiss30 / tfkiss.doc < prev   
Text File  |  1995-10-22  |  45KB  |  1,188 lines

  1.  
  2.                      ╔══════════════════════════════════╗
  3.                      ║ TFKISS (DOS)        Version 3.00 ║
  4.                      ╟──────────────────────────────────╢
  5.                      ║ (c) 1993-1995    OE1HHC & OE3GMW ║
  6.                      ╚══════════════════════════════════╝
  7.  
  8.  
  9. Allgemeines, Bemerkungen
  10. ========================
  11.  
  12.   TFKISS ist ein entladbares speicherresidentes Programm (TSR), welches
  13.   die Funktionen eines TNC im Rechner emuliert. Auf der RS-232 Seite wird
  14.   das KISS- (bzw. SMACK- oder RMNC-) Protokoll abwickelt und mit Hostmode
  15.   Terminalprogrammen über eine geeignete Software-Schnittstelle kommuniziert.
  16.  
  17.   Das Programm basiert auf TFKISS 2.00 und The Firmware 2.7b von NORD><LINK.
  18.   Die Beschreibung der Firmware-Kommandos von TFKISS ist weiter unten in
  19.   dieser Dokumentation zu finden.
  20.  
  21.  
  22. Eigenschaften der vorliegenden Version:
  23. ---------------------------------------
  24.  
  25.  - verfügt über praktisch alle Eigenschaften der aktuellen TF-Version.
  26.  - integrierte Entladeroutine (-u).
  27.  - Unterstützung des 16550 UART-Bausteins (FIFO-Mode) und der hohen IRQs
  28.    für die serielle Schnittstelle (9, 10, 11, 12 und 15).
  29.  - COM-Port Baudrate jetzt bis 115200.
  30.  - Codeoptimierungen (es können nun über 1200 Framebuffer zur Verfügung
  31.    gestellt werden).
  32.  - einstellbarer Speicherverbrauch (32 - 64 kB zur optimalen Ausnutzung
  33.    des Hauptspeichers).
  34.  - integrierter "KISS-off" Befehl.
  35.  - wahlweise Fehlererkennung nach SMACK- oder RMNC-CRC-KISS Protokoll.
  36.  - einstellbare Zahl der verfügbaren Kanäle (1-40).
  37.  - Framesammler für besseren Datendurchsatz und effizientere Kanalausnützung.
  38.  
  39.  
  40.   TFKISS sollte auf Rechnern mit dem Betriebssystemen MS-DOS (ab Version
  41.   3.30), PTS-DOS und in den "DOS-Boxen" von OS/2-WARP und Windows 95 laufen.
  42.  
  43.  
  44.   Im Archiv sind zwei Kompilate des Programms enthalten:
  45.  
  46.   TFKISS.COM: für PCs ab 80286 CPU und
  47.   TFK086.COM: für PCs ab 8086 CPU (um auch "alte" XTs verwenden zu können).
  48.  
  49.  
  50. Die Kommandozeile
  51. =================
  52.  
  53.   Alle Parameter müssen mit einem Bindestrich "-" oder einem Schrägstrich
  54.   "/" eingeleitet werden. Zwischen Groß- und Kleinschreibung wird nicht
  55.   unterschieden. Numerische Werte sind mit einem Doppelpunkt ":" von den
  56.   Kommandos zu trennen. Mit Ausnahme des -i Parameters sind Dezimalzahlen
  57.   einzugeben.
  58.  
  59.   TFKISS -? zeigt folgenden kleinen Hilfetext:
  60.  
  61.   Usage:
  62.  
  63.   TFKISS [[-?][-b:nnnn][-c:n][-i:xx][-l:nn][-m:nn][-p:n][-r:n][-u]]
  64.  
  65.    ?  help text
  66.    b  COM Baud (9600..115200)
  67.    c  COM Port (1..4)
  68.    i  TFKISS int vect (30..FF)
  69.    l  max channel number (1..40)
  70.    m  memory usage in kB (32..64)
  71.    p  CRC-Protocol (1=SMACK 2=RMNC)
  72.    r  COM IRQ (3..5, 7, 9..12, 15)
  73.    u  unload TFKISS
  74.  
  75.  
  76. Der B-Parameter
  77. ---------------
  78.   bestimmt die Baudrate zum Kiss-TNC. Zulässige Werte sind:
  79.   2400, 4800, 9600, 19200, 38400, 57600 und 115200.
  80.   Standardwert ist 9600.
  81.  
  82. Der C-Parameter
  83. ---------------
  84.   bestimmt den COM-Port für die Verbindung zum Kiss-TNC.
  85.   Die erforderliche I/O-Basisadresse sowie der zugehörige IRQ-Level werden
  86.   von TFKISS automatisch gesetzt. (siehe auch R-Parameter)
  87.   Zulässige Werte für COM-Port sind 1 bis 4.
  88.   Standardwert ist COM1.
  89.  
  90. Der I-Parameter
  91. ---------------
  92.   bestimmt den Software Interrupt für die Kommunikation mit dem Hostmode
  93.   Terminalprogramm. Er sollte nur in Ausnahmefällen verändert werden und muß
  94.   als Hexzahl angegeben werden.
  95.   Standardwert ist 0FEh.
  96.  
  97. Der L-Parameter
  98. ---------------
  99.   bestimmt die maximale Anzahl verfügbarer Kanäle.
  100.   Der Speicherbedarf von TFKISS ändert sich dementsprechend.
  101.   Zulässige Werte sind 1 bis 40.
  102.   Standardwert ist 10.
  103.  
  104.   Um Verwechslungen vorzubeugen, soll hier der Unterschied zum Firmware-
  105.   Befehl Y erläutert werden:
  106.   Das Y-Kommando setzt dynamisch, also zur Laufzeit des Programms, die
  107.   höchste Anzahl gleichzeitig connectbarer Kanäle.
  108.   Der Kommandozeilen Parameter L ermöglicht es hingegen, den Maximalwert von
  109.   Y zu verändern. Hier sind Werte zwischen 1 und 40 zulässig. Entsprechend
  110.   variiert auch der Speicherbedarf: etwa je 1 kB mehr Speicherverbrauch pro
  111.   9 zusätzlicher Kanäle.
  112.   Wählen Sie Werte größer 10 nur wenn es wirklich notwendig ist, denn die
  113.   erforderliche Rechenzeit des Programms steigt linear mit der Anzahl der zu
  114.   verwaltenden Kanäle!
  115.  
  116. Der M-Parameter
  117. ---------------
  118.   begrenzt den Speicherverbrauch (in Kilobyte) und ermöglicht somit eine
  119.   gezielte Beeinflussung der Speicherverwaltung.
  120.   TFKISS arbeitet intern mit sogenannten Framebuffern. Sie dienen dazu,
  121.   empfangene Pakete zwischenzuspeichern und noch auszusendende Frames
  122.   aufzubauen (siehe auch @B Befehl).
  123.   Wird -m:nn nicht angegeben, versucht TFKISS 800 Framebuffer einzurichten.
  124.   Dafür werden etwa 49 kB Hauptspeicher benötigt. Speziell beim Hochladen von
  125.   TFKISS ins Upper Memory (UMB auf 386/486 Maschinen) mittels DOS-Befehl
  126.   LOADHIGH oder LH kann es aber nützlich sein, den Speicherbedarf weiter zu
  127.   reduzieren.
  128.   Minimaler Platzbedarf ist (abhängig vom L-Parameter) 32..36 kB, dann stehen
  129.   allerdings nur mehr etwa 300 Framebuffer zur Verfügung.
  130.   Der andere Extremfall ist bei -M:64 die maximale Speicherzuweisung an
  131.   TFKISS. Nun können über 1200 Framebuffer eingerichtet werden.
  132.   Zulässige Werte für nn sind also 32 bis 64.
  133.  
  134.   Hinweis:
  135.   Wenn mehr als 1023 Framebuffer vorhanden sind, muß man damit rechnen, daß
  136.   im Hostmode Programm SP Version 6.10 (frühere und neuere Versionen nicht
  137.   getestet) beim Filetransfer erhebliche Fehlfunktionen auftreten.
  138.   GP zeigt dieses Fehlverhalten nicht.
  139.  
  140. Der P-Parameter
  141. ---------------
  142.   bestimmt welches CRC-Protokoll auf der KISS-Seite gefahren werden soll.
  143.  
  144.   In der nunmehr vorliegende Version sind beide gängigen CRC-Protokolle
  145.   (SMACK und RMNC) implementiert. Durch einige programmtechnische Tricks
  146.   konnte dies ohne nennenswerten zusätzlichen Speicherverbrauch im
  147.   residenten Mode erreicht werden.
  148.  
  149.     -P:0 = normal KISS ohne CRC
  150.     -P:1 = SMACK KISS-CRC
  151.     -P:2 = RMNC KISS-CRC
  152.  
  153.   Wenn -P nicht angegeben ist, wird der Standardwert 0 verwendet.
  154.  
  155. Der R-Parameter
  156. ---------------
  157.   definiert den Hardware Interrupt Level der seriellen Schnittstelle. Wenn
  158.   Ihr gewählter COM-Port (C-Parameter) einen anderen IRQ verwendet als im
  159.   Programm vordefiniert, kann hier die entsprechende Einstellung angegeben
  160.   werden.
  161.   Es können auch serielle I/O Karten betrieben werden, welche die "hohen"
  162.   Interrupts, das sind die IRQ Levels 9 .. 15 unterstützen.
  163.  
  164.   Standardwerte für COM-Port/IRQ sind:
  165.                  COM1 benützt IRQ4
  166.                  COM2  - " -  IRQ3
  167.                  COM3  - " -  IRQ5
  168.                  COM4  - " -  IRQ12.
  169.  
  170.   Beachten Sie bitte, daß auf Grund der Hardware des PC der gleichzeitige
  171.   Betrieb mehrerer Schnittstellen über den selben IRQ nicht möglich ist!
  172.  
  173. Der U-Parameter
  174. ---------------
  175.   entfernt TFKISS vollständig aus dem Speicher und setzt alle durch das
  176.   Programm veränderten Systemvektoren auf ihren Originalzustand zurück.
  177.   Der dafür zuständige Codeteil wurde besonders gründlich getestet, bis
  178.   jetzt konnten keine Fehlfunktionen oder Wechselwirkungen im Zusammenhang
  179.   mit Laden und Entladen festgestellt werden.
  180.  
  181.  
  182. Beispiele:
  183. ----------
  184.  
  185.   TFKISS soll auf der Standardschnittstelle COM2 betrieben werden. Die
  186.   Übertragung KISS-TNC <-> Rechner soll mit 38400 Baud laufen.
  187.  
  188.   Der Aufruf lautet:
  189.                        TFKISS -C:2 -B:38400
  190.  
  191.   Die Reihenfolge der Parameter ist beliebig. Man muß jedoch bedenken,
  192.   daß die Kommandozeile von links nach rechts abgearbeitet wird. Im
  193.   Zweifelsfall "gewinnt" der weiter rechts stehende Wert.
  194.  
  195.   So ein Aufruf sollte vermieden werden; er führt zwar zu keiner
  196.   Fehlermeldung, aber wie steht die Baudrate nun wirklich ?
  197.  
  198.                        TFKISS -B:4800 -C:2 -B:2400
  199.  
  200.   Der B-Parameter kommt doppelt vor. Der rechteste Wert gewinnt,
  201.   also 2400 Bd.
  202.  
  203.  
  204.   Für einen Sonderfall soll TFKISS mit 42 kB Ram auskommen, zusätzlich
  205.   sei mit einem Hostmode Terminalprogramm auf dem Software Interrupt
  206.   F9 Hex zu kommunizieren.
  207.  
  208.                        TFKISS -M:42 -I:F9
  209.  
  210.  
  211.   Ein SMACK-TNC soll mit dem Computer auf COM3 kommunizieren.
  212.   Dieser Port sei auf IRQ 7 eingestellt.
  213.  
  214.                          TFKISS -C:3 -R:7 -P:1
  215.  
  216.  
  217.  
  218.   So oder ähnlich sollte die Bildschirmausgabe nach erfolgtem Start
  219.   aussehen:
  220.  
  221.   ╔═══════════════════════════════════════════════════════════╗
  222.   ║ TFKISS v3.00  (c) 1993-95 OE1HHC/OE3GMW  Rev: Oct 21 1995 ║
  223.   ║ Ch:10 Int:FE COM:1 I/O:03F8 IRQ:4  Baud:9600   UART:16550 ║
  224.   ║ ───────────────────────────────────────────────────────── ║
  225.   ║ Based on TF 2.7b (NORD><LINK). Free for noncommercial use ║
  226.   ╚═══════════════════════════════════════════════════════════╝
  227.   successfully installed - frame buffers: 800 
  228.  
  229.  
  230.  
  231. Die Firmware-Befehle von TFKISS
  232. ===============================
  233.  
  234.   Die Eingabe eines TF-Befehls wird mit <ESC> eingeleitet und mit <RETURN>
  235.   abgeschlossen. Erfolgt die Eingabe ohne optionalen Parameter wird der
  236.   zugehörige aktuelle Wert angezeigt.
  237.  
  238.   Folgende Kommandos sind verfügbar:
  239.  
  240.   B C D F G I JHOST K L M N O P R S T U V W Y
  241.   @B @D @I @K @T2 @T3 @U @V
  242.  
  243.   Im Wesentlichen entspricht der Befehlssatz dem der TNC-Firmware; alle
  244.   Befehle sind im Folgenden kurz beschrieben. Auf eventuelle Unterschiede
  245.   wird hingewiesen.
  246.  
  247.   Diese Befehlsliste wurde der TF-Beschreibung entnommen.
  248.  
  249.  
  250. ESC B
  251. -----
  252.   Zeigt die Anzahl der Hauptschleifendurchläufe pro Sekunde.
  253.  
  254.   Dieser Parameter wurde aus Kompatibilitätsgründen zur TF 2.7 übernommen, hat
  255.   jedoch für den Benutzer von TFKISS nicht viel Aussagekraft, da die interne
  256.   Verarbeitung anders abläuft als im "realen" TNC.
  257.  
  258.   Die Eingabe des ehemaligen DAMA-Timeout ist entfallen.
  259.  
  260.  
  261. ESC C [Call]
  262. ------------
  263.   Der 'C'-Befehl wird für den Aufbau einer Verbindung (Connect) benötigt.
  264.   Man beachte, daß kein 'v' oder 'via' zwischen der Empfängeradresse und den
  265.   Digipeater-Rufzeichen erforderlich ist.
  266.  
  267.   Ein Connect-Befehl der auf Kanal 0 ausgeführt wird setzt den Weg für
  268.   UI-Pakete.
  269.  
  270.  
  271. ESC D
  272. -----
  273.   Eine bestehende Verbindung wird getrennt.
  274.  
  275.   Sind bei der Eingabe des 'D'-Befehls noch nicht alle Informationen
  276.   ausgesendet bzw. bestätigt, dann wird der Disconnect erst nach Eingang der
  277.   Bestätigung für das letzte Informationspaket ausgeführt.
  278.  
  279.   Durch Wiederholung des 'D'-Befehls kann dieser Vorgang abgebrochen werden.
  280.   Wird der 'D'-Befehl während des Aufbaus einer Verbindung (Link Setup) oder
  281.   des Beendens (Disconnect) einer Verbindung eingegeben, dann kehrt der TNC
  282.   sofort in den Disconnect-Zustand zurück und sendet automatisch ein DISC um
  283.   unnötige Aussendungen zu verhindern, falls der eigene TNC die Antworten der
  284.   Gegenstation nicht gehört hat.
  285.  
  286.   Wird der 'D'-Befehl im Disconnected-Zustand eingegeben, dann werden alle
  287.   Parameter des gerade angewählten Kanals mit den Parametern vom Kanal 0
  288.   initialisiert.
  289.  
  290.  
  291. ESC F [<n>]      Default: 500
  292. -----------------------------
  293.   FRACK ist die Wartezeit zwischen der Aussendung eines Paketes und dessen
  294.   Bestätigung durch  die Gegenstation.
  295.  
  296.   Die Zeit kann direkt in Sekunden eingegeben werden. Bei Eingaben <16 wird
  297.   dazu der Wert mit 100 multipliziert. Bei Eingaben >15 erfolgt die Eingabe
  298.   direkt in 10 Millisekunden Schritten (L2-Roundtriptime).
  299.  
  300.   FRACK ist bei der TheFirmware als dynamischer RoundTrip-Timer realisiert,
  301.   der sich der aktuellen Aktivität auf dem Kanal anpasst.
  302.  
  303.  
  304. ESC G [0|1]
  305. -----------
  306.   Abfrage der virtuellen TNC-Kanäle im Host-Mode. Im Terminal-Modus wird
  307.   dieser Befehl nicht erkannt und eine Fehlermeldung ausgegeben.
  308.  
  309.   Nähere Details sind der Hostmode Beschreibung zu entnehmen.
  310.  
  311.  
  312. ESC I [Call]
  313. ------------
  314.   Eingabe des eigenen Rufzeichens (MYCALL).
  315.  
  316.   Nach der ersten Inbetriebnahme ist es mit Leerzeichen gefüllt. Für jeden
  317.   Kanal kann ein Rufzeichen eingegeben werden. Nach einem DISCONNECT wird das
  318.   Rufzeichen von Kanal 0 übernommen.
  319.  
  320.   ACHTUNG: TFKISS schaltet den angeschlossenen KISS-TNC nur mit eingegebenem
  321.   MYCALL auf Sendung!
  322.  
  323.  
  324. ESC JHOST [0|1]
  325. ---------------
  326.   Umschaltung zwischen Terminal Mode und Host Mode.
  327.  
  328.   Der Host-Modus ist WA8DED-kompatibel und wird von den wichtigsten
  329.   Terminalprogrammen unterstützt.
  330.  
  331.  
  332. ESC K [<n>]      Default: 0
  333. ---------------------------
  334.   Aktivierung der STAMP-Funktion.
  335.  
  336.   Beispiele:
  337.  
  338.     K   │ Stamp und Datum/Zeit anzeigen
  339.    ─────┼────────────────────────────────────────────────
  340.     K 0 │ Stamp abschalten
  341.    ─────┼────────────────────────────────────────────────
  342.     K 1 │ Stamp Statusmeldungen einschalten
  343.    ─────┼────────────────────────────────────────────────
  344.     K 2 │ Stamp Status- und Monitormeldungen einschalten
  345.  
  346.   Hinweis: Im Gegensatz zur Firmware ist die Eingabe von Datum und Zeit
  347.   bei TFKISS nicht möglich, da für die STAMP-Funktion die Systemzeit
  348.   herangezogen wird. Um jedoch Kompatibilität zu Terminalprogrammen zu
  349.   wahren welche die TNC-Zeit automatisch setzen, wird hier keine
  350.   Fehlermeldung ausgegeben.
  351.  
  352.  
  353. ESC L [0..10]
  354. -------------
  355.   Mit dem 'L'-Befehl wird der Link-Status eines oder aller Kanäle (ohne
  356.   Parameter) angezeigt. Es werden Informationen über den Verbindungsweg
  357.   (Rufzeichen und Digipeaterliste), Anzahl empfangener Frames, Anzahl noch
  358.   nicht gesendeter Frames, Anzahl noch nicht bestätigter Frames und der
  359.   zugehörige Retry-Zähler angezeigt. Der jeweils benutzte Kanal wird durch
  360.   ein '+' Zeichen markiert.
  361.  
  362.  
  363. ESC M [IUSCN+-]    Default: N
  364. -----------------------------
  365.   Aktivierung und Parametrierung des Monitor-Modus. Mit den Parametern wird
  366.   vorgegeben, welche Frames angezeigt werden sollen.
  367.  
  368.   Beispiele:
  369.  
  370.     N │ keine
  371.    ───┼───────────────────────────────────────────────
  372.     I │ Informationspakete
  373.    ───┼───────────────────────────────────────────────
  374.     U │ unprotokollierte Sendungen
  375.    ───┼───────────────────────────────────────────────
  376.     S │ Kontrollpakete
  377.    ───┼───────────────────────────────────────────────
  378.     C │ Monitor auch an wenn eine Verbindung besteht
  379.    ───┼───────────────────────────────────────────────
  380.     + │ <Liste von bis zu 8 Rufzeichen>: nur Pakete
  381.       │ dieser Stationen
  382.    ───┼───────────────────────────────────────────────
  383.     - │ <Liste von bis zu 8 Rufzeichen>: keine Pakete
  384.       │ dieser Stationen
  385.  
  386.  
  387.    Die kombinierte Benutzung der '+' und '-' Parameter wird nicht unterstützt.
  388.    Sie müssen als letzter Parameter vor dem (den) Rufzeichen eingegeben
  389.    werden.
  390.    Die Eingabe von '+' oder '-' ohne Rufzeichen löscht die aktuelle Liste. Es
  391.    erfolgt keine Auswertung der SSID!
  392.  
  393.  
  394. ESC N [0..127]     Default: 10
  395. ------------------------------
  396.   Parametrierung des Retry-Zählers.
  397.  
  398.   Es wird angegeben, wie oft die Zustellung  eines Paketes versucht werden
  399.   soll (0 = unendlich). Für jeden Kanal kann ein eigener Wert angegeben
  400.   werden. Nach einem Disconnect wird jedoch der Wert aus Kanal 0 übernommen.
  401.  
  402.   Im unbeaufsichtigten Betrieb den Parameter NIEMALS auf 0 einstellen!
  403.  
  404.  
  405. ESC O [1..7]      Default: 2
  406. ----------------------------
  407.   Maximale Anzahl von ausstehenden und unbeantworteten I-Frames (MAXFRAME).
  408.  
  409.   Für jeden Kanal kann ein separater Wert vorgegeben werden. Nach jedem
  410.   Disconnet wird aber wieder der Parameter von Kanal 0 übernommen.
  411.  
  412.  
  413. ESC P [0..255]     Default: 32
  414. ------------------------------
  415.   P-Persistence Einstellung.
  416.  
  417.   Ohne Parameter erfolgt die Anzeige der aktuellen Einstellung. Bei DAMA wird
  418.   dieser Wert ignoriert!
  419.  
  420.  
  421. ESC R [0|1]      Default: 1
  422. ---------------------------
  423.   Ein- und Ausschalten der Digipeat-Funktion (1 = Ja, 0 = Nein).
  424.  
  425.  
  426. ESC S [0..40]     Default: 0
  427. ----------------------------
  428.   Umschaltung zwischen den Kanälen (0 = Monitorkanal).
  429.  
  430.  
  431. ESC T [0..127]     Default: 25
  432. ------------------------------
  433.   Verzögerung zwischen Hochtasten des Senders und Start der Datenaussendung
  434.   (TXDELAY).
  435.  
  436.   Die Einstellung erfolgt in 10 ms Schritten. Bitte experimentell einen
  437.   möglichst geringen Wert ermitteln und einstellen.
  438.  
  439.  
  440. ESC U [0|1|2]     Default: 0
  441. ----------------------------
  442.   Mit dem 'U'-Befehl hat man die Möglichkeit, eine Meldung an anrufende
  443.   Stationen zu senden (CTEXT).
  444.  
  445.   Der Text bleibt auch dann erhalten, wenn dieser Modus wieder abgeschaltet
  446.   wird.
  447.  
  448.   Mit 'U2' kann der TNC (nur im Terminal-Mode!) dazu veranlaßt werden durch
  449.   den Empfang des Strings "//Q" einen Disconnect der laufenden Verbindung
  450.   einzuleiten. Der String "//Q" muß dazu am Anfang eines einzelnen Paketes
  451.   stehen. Im HOSTMODE ist diese Funktion gesperrt.
  452.  
  453.   Beispiele:
  454.  
  455.     U 1 Text   │ CTEXT eingeben
  456.    ────────────┼──────────────────────────────
  457.     U 1        │ CTEXT wird ausgesendet
  458.    ────────────┼──────────────────────────────
  459.     U 2 (Text) │ CTEXT und //Quit-Funktion
  460.    ────────────┼──────────────────────────────
  461.     U 0        │ CTEXT wird nicht ausgesendet
  462.    ────────────┼──────────────────────────────
  463.     U          │ CTEXT anzeigen
  464.  
  465.  
  466.  
  467. ESC V
  468. -----
  469.   Ausgabe eines Strings, der Informationen über die aktuelle Softwareversion
  470.   gibt.
  471.  
  472.  
  473. ESC W [0..127]     Default:  10
  474. -------------------------------
  475.   Parametrierung der Slot-Time (Zeitschlitz) in Millisekunden.
  476.  
  477.   Ohne Parameter erfolgt die Anzeige der aktuellen Einstellung.
  478.   Bei DAMA wird dieser Wert ignoriert. Der TNC geht immer sofort auf Sendung.
  479.  
  480.  
  481. ESC Y [0..<n>]     Default:  10
  482. ------------------------------
  483.   Eingabe der maximal zulässigen Kanäle, bis eine anrufende Station "busy"
  484.   bekommt. Der Maximalwert <n> entspricht dem auf der Kommandozeile
  485.   übergebenen L-Parameter.
  486.  
  487.   Die Ausgabe erfolgt in der Form "maximale Anzahl Kanäle (belegte Kanäle)".
  488.   Dies funktioniert nur, wenn überall die gleiche SSID wie im Monitor-Kanal
  489.   verwendet wird).
  490.  
  491.   Beispiel: "4 (0)"
  492.  
  493.  
  494. ESC @B
  495. ------
  496.   Anzeige der freien TNC-Buffer.
  497.  
  498.  
  499. ESC @D [0|1]      Default: 0
  500. ----------------------------
  501.   Ein- und Ausschalten des Vollduplexbetriebes.
  502.  
  503.  
  504. ESC @I [<n>]      Default:  60
  505. ------------------------------
  506.   Wert für max. IPOLL-Framelänge eingeben, bzw. anzeigen.
  507.   Gilt nicht bei DAMA!
  508.  
  509.  
  510. ESC @K
  511. ------
  512.   Der Befehl @K hat in TFKISS gegenüber TheFirmware eine geänderte Bedeutung
  513.   und weitere Subfunktionen erhalten!
  514.  
  515.   Alle nach @K bis zum Zeilenende folgenden Zeichen werden mit abschließendem
  516.   CR direkt an den TNC übertragen.
  517.  
  518.   Der @K-Zeichenwandler
  519.  
  520.     Bisher war es nicht möglich, Kontrollzeichen (z.B. das Esc-Zeichen) mit
  521.     Hilfe des @K Befehl an das TNC zu senden. Daher wurde eine einfache
  522.     Zeichenwandlerroutine eingebaut. Kann also ein Zeichen nicht unmittelbar
  523.     über die Tastatur eingegeben werden, was praktisch bei allen
  524.     Kontrollzeichen der Fall ist, muß ein Backslash \ unmittelbar gefolgt vom
  525.     dezimalen ASCII Code des zu sendenden Zeichens eingegeben werden.
  526.  
  527.     Soll zum Beispiel das ESCAPE Zeichen (ASCII dezimal 27) über die serielle
  528.     Schnittstelle an den TNC gesendet werden, ist einfach @K \27 einzugeben.
  529.     Natürlich können (bzw. müssen) daran unmittelbar anschließend weitere
  530.     Zeichen oder wieder ein Backslash zur nächsten Zeichenwandlung, je nach
  531.     Bedarf, bis zum Zeilenende eingegeben werden.
  532.  
  533.     An ein KAM (Version 4.0) sei die Zeichenkette
  534.     "INT KISS [Return] RESET [Return]" zu schicken. Das ist ganz einfach:
  535.  
  536.     @K INT KISS\13RESET
  537.  
  538.     Ein weiteres Beispiel: ein TNC2 soll in den KISS-Mode versetzt werden,
  539.     dies funktioniert mit "[ESC]@K":
  540.  
  541.     @K \27@K
  542.  
  543.  
  544.   KISS-OFF @K 0
  545.  
  546.     Um einem laufenden Hostmode Programm das ordnungsgemäße Zurückschalten
  547.     eines TNC aus dem KISS- in den Terminalmodus zu ermöglichen, wurde das
  548.     Kommando @K 0 eingeführt. Das heißt, es wird ein KISSOFF- Frame (C0h FFh
  549.     C0h) an den TNC gesendet.
  550.  
  551.   @K 1
  552.  
  553.     Um Sonderfälle abzudecken wurde ein zusätzlicher Hilfsbefehl @K 1
  554.     eingebaut. Dieser hat die völlig gleiche Bedeutung wie @K. Es werden alle
  555.     auf @K 1 folgenden Zeichen (inklusive Zeichenwandlung, falls erforderlich)
  556.     direkt an den TNC gesendet. Der Unterschied: @K fügt an das Ende einer
  557.     Zeile automatisch ein CR (Return) Zeichen an. @K 1 erzeugt dieses
  558.     Zeilenendezeichen NICHT.
  559.  
  560.  
  561. ESC @T2 [<n>]     Default: 150
  562. ------------------------------
  563.   Zeitspanne bis zur Bestätigung eines empfangenen Paketes.
  564.  
  565.  
  566. ESC @T3 [<n>]     Default: 18000
  567. --------------------------------
  568.   Zeitspanne die der TNC bei einer bestehenden Verbindung auf ein
  569.   "Lebenszeichen" der Gegenstelle wartet.
  570.   Nachdem T3 abgelaufen ist, wird beim Partner angefragt, ob er noch
  571.   empfangsbereit ist.
  572.  
  573.  
  574. ESC @U [0|1]      Default: 0
  575. ----------------------------
  576.   UIPOLL aktivieren. (0 = UI, 1 = UI+).
  577.  
  578.  
  579. ESC @V [0|1]      Default: 0
  580. ----------------------------
  581.   Rufzeichen-Check ein- bzw. ausschalten (1 = Ja, 0 = Nein).
  582.  
  583.  
  584.  
  585. Nicht unterstützte TF-Kommandos
  586. ===============================
  587.  
  588.   Folgende TF-Befehle werden von TFKISS nicht unterstützt:
  589.  
  590.   A  E  QRES  X  Z  und  @F
  591.  
  592.   Diese Kommandos werden beim Betrieb mit Hostmode Terminalprogrammen nicht
  593.   benötigt oder von ihnen emuliert.
  594.  
  595.  
  596.  
  597. Zusätzliche Befehle
  598. ===================
  599.  
  600. ESC @P
  601. ------
  602.   KISS-CRC-Protokolltyp. Funktioniert nur in den TFKISS-Versionen
  603.   TFKx86s.COM und TFKx86r.COM!
  604.  
  605.   Zeigt die Art der Datenkommunikation zwischen TNC und Computer. Das Ergebnis
  606.   von @P ist "KISS" beim Betrieb im "Standard KA9Q Kissmode", "SMACK" wenn von
  607.   TFKISS ein TNC mit SMACK-Firmware (siehe auch "SMACK-Protokoll" weiter
  608.   unten) und "RMNC" wenn die Verbindung zu einer RMNC SLAKI-Karte erkannt
  609.   wurde.
  610.  
  611.   CRC-KISS aus: @P 0
  612.   CRC-KISS ein: @P 1
  613.  
  614.   Das Aktivieren eines CRC gesicherten Kiss-Protokolls geschieht automatisch
  615.   und in der Regel völlig problemlos. @P 0 bzw. @P 1 wurden nur deshalb
  616.   eingeführt um diese Automatik gegebenenfalls umgehen zu können und eine
  617.   bestimmte Protokollvariante per Befehl zu erzwingen.
  618.  
  619.   Wenn CRC-Protokoll per Befehl aktiviert wird, obwohl die zur Verfügung
  620.   stehende Hardware dies gar nicht unterstützt, muß mit einem Zusammenbrechen
  621.   der Kommunikation zwischen TNC und TFKISS gerechnet werden.
  622.  
  623.   ACHTUNG: im laufenden Betrieb (d.h. während eines QSO) sollte man NIEMALS
  624.   umschalten, da es sofort zu Übertragungsproblemen zwischen TNC und TFKISS
  625.   kommt!
  626.  
  627.  
  628. ESC @N
  629. ------
  630.   (NO)CONNECT-LISTE.
  631.  
  632.   Empfangene UI und SABM Frames jener Calls, die in dieser Liste eingetragen
  633.   sind, werden von TFKISS ignoriert, provozieren also keinerlei Reaktion auf
  634.   der Empfangsseite. Diese Stationen kann man jedoch weiterhin selbst
  635.   connecten.
  636.  
  637.   Die Syntax dieses Befehls wurde weitgehend dem M-Befehl angepaßt:
  638.  
  639.     @N                   │ Zeigt die Connectliste an.
  640.    ──────────────────────┼───────────────────────────────────────────────
  641.     @N - call [call ...] │ Setzt die Negativliste. Maximal 8 Rufzeichen.
  642.    ──────────────────────┼───────────────────────────────────────────────
  643.     @N + call [call ...] │ Setzt die Positivliste. Maximal 8 Rufzeichen.
  644.    ──────────────────────┼───────────────────────────────────────────────
  645.     @N - oder @N +       │ Löscht die Connectliste.
  646.  
  647.   Die kombinierte Benutzung der '+' und '-' Parameter wird nicht unterstützt.
  648.  
  649.  
  650.  
  651. Konfiguration des Hostmode-Programmes
  652. =====================================
  653.  
  654. SP:
  655. ---
  656.   In CONFIG.SP muß für den Betrieb mit dem KISS-Treiber folgendes ange-
  657.   geben werden:
  658.  
  659.   CFG=PORTx:5
  660.                 oder
  661.   CFG=PORTx:5h  wenn TFKISS hochgeladen wird (LH TFKISS); sehr empfehlenswert
  662.                 wenn mindestens 35 kB UMB Speicher zur Verfügung steht.
  663.  
  664.   Diese Angaben beziehen sich auf SP Version 6.10, eine neuere steht mir
  665.   nicht zur Verfügung.
  666.  
  667. GP:
  668. ---
  669.   GP erkennt TFKISS selbständig, hier sind keine zusätzlichen Angaben nötig.
  670.  
  671.   Die Umschaltung des TNC in den KISS-Mode beim Start und das Zurückschalten
  672.   in den originären Modus beim Beenden des Terminalprogrammes kann auch
  673.   automatisiert werden.
  674.  
  675.   Hier ein Beispiel für GP; folgende Zeilen müssen in die CONFIG.GP für ein
  676.   KAM eingefügt werden:
  677.  
  678.     ; TNC-Initialisierung
  679.     TNCINI = @K INT KISS
  680.     TNCINI = @K RESET
  681.     ...
  682.     ; TNC-Deinitialisierung
  683.     TNCDEI = @K 0
  684.     ...
  685.  
  686.   Für einen TNC2 funktioniert es folgendermaßen:
  687.     ; TNC-Initialisierung
  688.     TNCINI = @K \27@K
  689.     ...
  690.     ; TNC-Deinitialisierung
  691.     TNCDEI = @K 0
  692.     ...
  693.  
  694.  
  695.   Weiters ist es empfehlenswert, eine Batch-Datei zum Start von TFKISS
  696.   und des Terminalprogrammes zu erstellen. Ein Beispiel - TFKISS.COM
  697.   befinde sich im Directory D:\AFU\TFKISS und GP im Verzeichnis D:\AFU\GP:
  698.  
  699.     @echo off
  700.     d:
  701.     cd \afu\tfkiss
  702.     tfkiss -c:2 -l:4
  703.     cd \afu\gp
  704.     gp286
  705.     d:
  706.     cd \afu\tfkiss
  707.     tfkiss -u
  708.  
  709.   Zuerst wird also TFKISS geladen, der COM-Port 2 und maximal 4 Kanäle
  710.   gesetzt, dann GP und nach dem Beenden des Programmes wird auch TFKISS
  711.   wieder aus dem Speicher entfernt.
  712.  
  713.   Bitte verstehen Sie die oben angeführten Beispiele nicht als Rezepte!
  714.   Sie müssen zur Erstellung der Konfigurationsdateien die eigenen
  715.   Verhältnisse heranziehen. Also bitte Pfadangaben und Befehlssatz Ihres
  716.   Controllers überprüfen!
  717.  
  718.  
  719.  
  720. ANHANG
  721. ======
  722.  
  723.  
  724. Der Host Mode
  725. =============
  726.  
  727.   (Entnommen der FIRMWARE Hostmode-Beschreibung).
  728.  
  729.   Neben dem KISS- und dem Terminalmodus stellt die Firmware für eine
  730.   einfachere Kommunikation zwischen TNC und Rechner noch den Hostmodus zur
  731.   Verfügung. Durch eindeutige Kennzeichnung der Daten  z u m  TNC und v o m
  732.   TNC wird eine einfache und fehlerfreie Kommunikation zwischen dem
  733.   Hostrechner und dem TNC ermöglicht. Handshaking per Hard- oder Software ist
  734.   nicht erforderlich da der TNC ungefragt keine Daten an den Rechner sendet
  735.   und die Datenlänge auf 256 Zeichen begrenzt ist.
  736.  
  737.   Wenn der Hostmode eingeschaltet ist muß das erste an den TNC gesendete Byte
  738.   die Kanalnummer sein. Das zweite Byte dient der Unterscheidung Information -
  739.   Befehl. Wenn Informationen gesendet werden muß das zweite Byte eine binäre 0
  740.   sein. Wird ein Befehl gesendet dann muß das zweite Byte eine binäre 1 sein.
  741.   Das dritte Byte gibt die binäre Länge der folgenden Information oder des
  742.   folgenden Befehls, vermindert um 1, an. Danach folgen die Informations- bzw.
  743.   Befehlsbytes. Informationen, die an Kanal 0 adressiert sind, werden
  744.   unprotokolliert ausgesendet. Informationen an Kanäle ohne Connect werden
  745.   ignoriert.
  746.  
  747.   Der TNC antwortet auf Informationen und Befehle als erstes mit der Kanal-
  748.   Nummer (binär) gefolgt von einem binären Code 0, 1, oder 2 als Erfolgs-
  749.   oder Fehlermeldung. Den Codes 1 und 2 folgt eine nullterminierte Meldung.
  750.   Alle Kanäle können mit dem 'G'-Befehl abgefragt werden, ob Informationen
  751.   oder Statusmeldungen vorliegen. Monitor-Header, Monitor-Header mit folgender
  752.   Information sowie die Link-Statusmeldung 'CONNECT REQUEST' werden immer an
  753.   Kanal 0 gesendet. Alle anderen Linkstatusmeldungen werden wie normale
  754.   Informationen immer auf dem entsprechenden Kanal ausgegeben.
  755.  
  756.   Die erste Antwort des TNC's auf den 'G'-Befehl ist wieder die Kanal-Nummer
  757.   gefolgt von einem binären Code von 3 - 7 zur Kennzeichnung der nachfolgenden
  758.   Daten. Code 4 ist Monitorpaketen ohne Info zugeordnet. Code 5 kennzeichnet,
  759.   daß es sich um ein Monitor-Paket mit Info handelt. Beim nächsten 'G'-Befehl
  760.   an Kanal 0 wird diese Info (gekennzeichnet durch Code 6) dann ausgegeben.
  761.   Code 7 kennzeichnet die Informationspakete.
  762.  
  763. Mögliche Codes zwischen Hostrechner und TNC
  764. -------------------------------------------
  765.  
  766.   1. Hostrechner zum TNC
  767.  
  768.     KANAL│CODE│BESCHREIBUNG
  769.    ──────┼────┼─────────────────────────────────────
  770.       n  │ 0  │Information (Länge-1 vorweg)
  771.    ──────┼────┼─────────────────────────────────────
  772.       n  │ 1  │Befehl      (Länge-1 vorweg)
  773.  
  774.  
  775.   2. TNC zum Hostrechner
  776.  
  777.     KANAL│CODE│BESCHREIBUNG
  778.    ──────┼────┼─────────────────────────────────────
  779.       n  │ 0  │Erfolg (ohne weitere Meldung)
  780.    ──────┼────┼─────────────────────────────────────
  781.       n  │ 1  │Erfolg (Meldung folgt,
  782.          │    │null-terminiert)
  783.    ──────┼────┼─────────────────────────────────────
  784.       n  │ 2  │Fehler (Meldung folgt,
  785.          │    │null-terminiert)
  786.    ──────┼────┼─────────────────────────────────────
  787.       n  │ 3  │Link Status (null-terminiert)
  788.    ──────┼────┼─────────────────────────────────────
  789.       n  │ 4  │Monitor Header (null-terminiert)
  790.    ──────┼────┼─────────────────────────────────────
  791.       n  │ 5  │Monitor Header (null terminiert)
  792.    ──────┼────┼─────────────────────────────────────
  793.       n  │ 6  │Monitor Information (Länge-1 vorweg)
  794.    ──────┼────┼─────────────────────────────────────
  795.       n  │ 7  │Connect Information (Länge-1 vorweg)
  796.  
  797.  
  798. Meldungen des TNC
  799. -----------------
  800.  
  801.   1. Erfolgs-Meldungen
  802.  
  803.     {Kanal Status}             │ -
  804.    ────────────────────────────┼─────────────────────────────────────────────
  805.     {Parameter Wert}           │ -
  806.    ────────────────────────────┼─────────────────────────────────────────────
  807.     CHANNEL NOT CONNECTED      │ Auf diesem Kanal besteht keine Verbindung
  808.  
  809.  
  810.   2. Fehler-Meldungen
  811.  
  812.     INVALID CALLSIGN           │ Unzulässiges Rufzeichen
  813.    ────────────────────────────┼─────────────────────────────────────────────
  814.     MESSAGE TOO LONG           │ Die  Länge des  Connect-Textes beträgt mehr
  815.                                │ als 72 Zeichen
  816.    ────────────────────────────┼─────────────────────────────────────────────
  817.     INVALID PARAMETER          │ Unzulässiger Parameter
  818.    ────────────────────────────┼─────────────────────────────────────────────
  819.     NO SOURCE CALLSIGN         │ Kein Rufzeichen (I-Befehl) eingegeben
  820.    ────────────────────────────┼─────────────────────────────────────────────
  821.     INVALID COMMAND: ?         │ Unzulässiger Befehl
  822.    ────────────────────────────┼─────────────────────────────────────────────
  823.     NOT WHILE CONNECTED        │ Nicht bei bestehender Verbindung
  824.    ────────────────────────────┼─────────────────────────────────────────────
  825.     INVALID VALUE: ?????       │ Unzulässiger Wert
  826.    ────────────────────────────┼─────────────────────────────────────────────
  827.     NO MESSAGE AVAILABLE       │ Kein Connecttext eingegeben
  828.    ────────────────────────────┼─────────────────────────────────────────────
  829.     INVALID CHANNEL NUMBER     │ Unzulässige Kanalnummer
  830.    ────────────────────────────┼─────────────────────────────────────────────
  831.     TNC BUSY - LINE IGNORED    │ Kein TNC-Buffer frei, Eingabe ignoriert
  832.    ────────────────────────────┼─────────────────────────────────────────────
  833.     CHANNEL ALREADY CONNECTED  │ Auf diesem Kanal besteht schon eine
  834.                                │ Verbindung
  835.    ────────────────────────────┼─────────────────────────────────────────────
  836.     STATION ALREADY CONNECTED  │ Mit dieser Station besteht schon eine
  837.                                │ Verbindung
  838.    ────────────────────────────┼─────────────────────────────────────────────
  839.     INVALID EXTENDED COMMAND: ?│ Unzulässiger erweiterter Befehl (<ESC> @)
  840.  
  841.  
  842.   3. Link Status Meldungen
  843.  
  844.     BUSY fm Call {via Digi}       │ Alle  freigegebenen Kanäle der Gegen-
  845.                                   │ station sind belegt bzw. die Gegenstation
  846.                                   │ wünscht keinen Connect
  847.    ───────────────────────────────┼──────────────────────────────────────────
  848.     CONNECTED to Call {via Digi}  │ Die Verbindung wurde hergestellt
  849.    ───────────────────────────────┼──────────────────────────────────────────
  850.     LINK RESET fm Call {via Digi} │ Treffen von der Gegenstation keine
  851.     LINK RESET to Call {via Digi} │ Quittungspakete mehr ein, so wird bei
  852.                                   │ AX25V2 nach Ablauf des Retryzählers
  853.                                   │ versucht, die Verbindung neu aufzubauen
  854.    ───────────────────────────────┼──────────────────────────────────────────
  855.     DISCONNECTED fm Call {via     │ Die Verbindung zur Gegenstation wurde
  856.     Digi}                         │ aufgelöst
  857.    ───────────────────────────────┼──────────────────────────────────────────
  858.     LINK FAILURE with Call {via   │ Die Verbindung zur Gegenstation konnte
  859.     Digi}                         │ nicht hergestellt werden
  860.    ───────────────────────────────┼──────────────────────────────────────────
  861.     CONNECT REQUEST fm Call {via  │ Verbindungsanforderung einer anderen
  862.     Digi}                         │ Station wenn Y0 eingestellt ist oder alle
  863.                                   │ verfügbaren Kanäle belegt sind
  864.    ───────────────────────────────┼──────────────────────────────────────────
  865.     FRAME REJECT fm Call {via     │ [x y z = FRMR Informationsbytes] Ein
  866.     Digi} (x y z) FRAME REJECT to │ Protokollfehler ist aufgetreten
  867.     Call {via Digi} (x y z)       │
  868.  
  869.  
  870. Monitor Header Format
  871. ---------------------
  872.   Das Format der Monitorkopfzeilen ist genauso aufgebaut wie im
  873.   Terminalmodus:
  874.  
  875.     fm {Rufz.} to {Rufz.} via {Digipeater} ctl {Name} pid {Hex}
  876.  
  877.  
  878. Kanal Status Format
  879. -------------------
  880.  
  881.   Das Format des Kanalstatus weicht von dem des Terminalmodus ab. Nach Eingabe
  882.   des 'L'-Befehls im Hostmodus gibt der TNC eine Reihe von sechs Ziffern mit
  883.   folgender Bedeutung aus:
  884.  
  885.   a b c d e f  (für Kanal 0 sind nur a und b möglich)
  886.  
  887.     a │ Anzahl noch nicht dargestellter Link-Statusmeldungen
  888.    ───┼──────────────────────────────────────────────────────
  889.     b │ Anzahl empfangener, noch nicht dargestellter Pakete
  890.    ───┼──────────────────────────────────────────────────────
  891.     c │ Anzahl noch nicht ausgesendeter Pakete
  892.    ───┼──────────────────────────────────────────────────────
  893.     d │ Anzahl der gesendeten, noch unbestätigten Pakete
  894.    ───┼──────────────────────────────────────────────────────
  895.     e │ Anzahl der Versuche für die laufende Operation
  896.    ───┼──────────────────────────────────────────────────────
  897.     f │ Linkstatus
  898.  
  899.  
  900. Mögliche Linkstatusmeldungen
  901. ----------------------------
  902.  
  903.     0 │ Disconnected. Der Kanal ist nicht belegt
  904.    ───┼───────────────────────────────────────────────────────────
  905.     1 │ Link Setup. Auf dem Kanal läuft ein Verbindungsaufbau
  906.    ───┼───────────────────────────────────────────────────────────
  907.     2 │ Frame Reject. Ein Protokollfehler ist aufgetreten
  908.    ───┼───────────────────────────────────────────────────────────
  909.     3 │ Disconnect Request. Ein Verbindungsabbruch ist
  910.       │ eingeleitet
  911.    ───┼───────────────────────────────────────────────────────────
  912.     4 │ Information Transfer. Es besteht eine Verbindung zu einer
  913.       │ Gegenstation
  914.    ───┼───────────────────────────────────────────────────────────
  915.     5 │ Reject Frame Sent. Ein Paket mit fehlerhafter Prüfsumme
  916.       │ wird nochmal angefordert
  917.    ───┼───────────────────────────────────────────────────────────
  918.     6 │ Waiting Acknowledgement. Der TNC wartet auf die
  919.       │ Bestätigung eines ausgesendeten Informationspaketes
  920.    ───┼───────────────────────────────────────────────────────────
  921.     7 │ Device Busy. Kein TNC-Buffer frei
  922.    ───┼───────────────────────────────────────────────────────────
  923.     8 │ Remote Device Busy. Der TNC-Speicher der Gegenstation
  924.       │ oder eines Digipeaters auf dem Weg zur Gegenstation ist
  925.       │ voll
  926.    ───┼───────────────────────────────────────────────────────────
  927.     9 │ Both Devices Busy. Siehe 7 und 8
  928.    ───┼───────────────────────────────────────────────────────────
  929.     10│ Waiting Acknowledgement and Device Busy. Siehe 6 und 7
  930.    ───┼───────────────────────────────────────────────────────────
  931.     11│ Waiting Acknowledgement and Remote Busy. Siehe 6 und 8
  932.    ───┼───────────────────────────────────────────────────────────
  933.     12│ Waiting Acknowledgement and Both Devices Busy. Siehe 6, 7
  934.       │ und 8
  935.    ───┼───────────────────────────────────────────────────────────
  936.     13│ Reject Frame Sent and Device Busy. Siehe 5 und 7
  937.    ───┼───────────────────────────────────────────────────────────
  938.     14│ Reject Frame Sent and Remote Busy. Siehe 5 und 8
  939.    ───┼───────────────────────────────────────────────────────────
  940.     15│ Reject Frame Sent and Both Devices Busy. Siehe 5, 7 und 8
  941.  
  942.  
  943.  
  944. Der Extended Hostmode (XHOST)
  945. =============================
  946.  
  947.   (nach DG3DBI, überarbeitet von DB2OS)
  948.  
  949.   Die folgende Kurzbeschreibung des Extended Hostmode stammt aus einer
  950.   Einspielung von Walter, DG9EP @ DB0IZ.#NRW.DEU.EU.
  951.  
  952.   Der extended Hostmode ist eine formal nur geringfügige Erweiterung des
  953.   allseits bekannten Hostmode. Der Vorteil liegt in der Vermeidung unnötiger
  954.   Abfragen (Polls) des TNC, was zu einer Geschwindigkeitssteigerung vor allem
  955.   beim Empfang führt. Im nachfolgenden nun die sehr knappe Beschreibung des
  956.   extended Hostmodes. Er setzt die Kenntnis des normalen Hostmodes voraus.
  957.  
  958.   Der Rechner sendet ein 'G'-Kommando an den Kanal 255 des TNC. Handelt es
  959.   sich um einen TNC ohne Erweiterung, so antwortet dieser dann mit der
  960.   Fehlermeldung "INVALID CHANNEL NUMBER". Bei dem erweiterten Hostmode wird
  961.   stattdessen ein Null-terminierter String zurückgeliefert, der eine Liste
  962.   von Kanälen enthält, bei denen noch Infos in den Buffern abholbereit sind.
  963.   Dies gilt auch für den Monitor-Kanal und Statusdaten. Die Kanalnummern im
  964.   String sind wegen der Null-Terminierung um 1 erhöht.
  965.  
  966.   Beispiele für die Antwort des TNC:
  967.  
  968.    0xFF 0x01 0x00                        Keine Daten verfügbar.
  969.    0xFF 0x01 0x01 0x00                   Es sind Daten im Monitor-Buffer.
  970.    0xFF 0x01 0x01 0x03 0x04 0x00         Es sind Daten im Monitor und in den
  971.                                          Kanälen 2 und 3.
  972.  
  973.  
  974.  
  975. Der KISS-Mode
  976. =============
  977.  
  978.   Der KISS-Mode wurde in den frühen achziger Jahren definiert, um auf einfache
  979.   Weise das Netzwerkprotokoll TCP/IP dem Amateur Packet Radio zu ermöglichen.
  980.  
  981.   Da TCP/IP selbst die Gültigkeit (d.h. die Fehlerfreiheit) der eintreffenden
  982.   Datenpakete überwacht, waren Maßnahmen zur Sicherstellung einer garantiert
  983.   fehlerfreien Übertragung zwischen TNC und Computer nicht erforderlich.
  984.  
  985.   Heute wird KISS-Mode oft dazu verwendet, "normalen" AX-25 Datenverkehr
  986.   abzuwickeln; wie etwa bei der Anbindung eines Mailboxrechners an einen
  987.   RMNC-Knoten.
  988.  
  989.   Dem standard KISS-Protokoll entspechend, würden jedoch Übertragunsfehler
  990.   zwischen dem TNC und dem Computer, eine Verstümmelung der zu übertragenden
  991.   Nachricht verursachen. Um dieses Dilemma zu beseitigen, gab es Bestrebungen,
  992.   das Protokoll um eine zusätzliche Prüfsumme, einen 16 Bit-CRC zu erweitern.
  993.  
  994.   Es wurden zwei, leider nicht kompatible Verfahren definiert, das RMNC- und
  995.   das SMACK-Protokoll. Sie sind in ihrer Funktionsweise prinzipiell sehr
  996.   ähnlich, unterscheiden sich aber in der Berechnungsart der Prüfsumme und
  997.   einem Packet-ID Byte.
  998.  
  999.   Das Erkennen eines SMACK- (RMNC-) fähigen TNC, sowie die Aktivierung der
  1000.   prüfsummengesicherten Übertragung geschieht durch TFKISS automatisch. Der
  1001.   Anwender hat aber mittels des erweiterten Befehls @P die Möglichkeit das
  1002.   Funktionieren dieser Automatik nachzuprüfen.
  1003.  
  1004.  
  1005.  
  1006. Das SMACK-Protokoll
  1007. ===================
  1008.  
  1009.   Die Bezeichnung SMACK steht für "Stuttgarts Modifiziertes Amateurfunk-
  1010.   CRC-KISS". Es ist der Versuch einer möglichst kompatiblen Erweiterung
  1011.   des KISS-Protokolls um eine Prüfsumme; ein Verfahren zur Datensicherung
  1012.   zwischen TNC und Rechner. Die in TFKISS realisierte Implementierung
  1013.   basiert auf der Protokollbeschreibung SMACK Version 1.0, Stand 27.02.92
  1014.   von Jan Schiefer, DL5UE und Dieter Deyke, DK5SG/N0PRA.
  1015.  
  1016.  
  1017.  
  1018. Das RMNC-Protokoll
  1019. ==================
  1020.  
  1021.   RMNC steht für Rhein-Main-Net-Controller. Diese Knotenrechener Hard- und
  1022.   Software ermöglicht u.a. den Anschluß von Mailboxrechnern oder anderen
  1023.   Datenendgeräten über eine serielle Schnittstelle. Als Datenformat kommt
  1024.   dabei das KISS-Protokoll zum Einsatz. Zur Vermeidung von Übertragunsfehlern,
  1025.   besonders bei höheren Baudraten, stellen RMNC-Knoten ein modifiziertes
  1026.   KISS-Protokoll zur Verfügung, welches auch in TFKISS implementiert wurde.
  1027.   Das ist aber nur für Mailbox Anwendungen oder Sysops sinnvoll nutzbar,
  1028.   welche eine direkte Drahtverbindung zu einem RMNC-Knoten haben.
  1029.  
  1030.  
  1031.  
  1032. Der Framesammler
  1033. ================
  1034.  
  1035.   Um den Datendurchsatz auf den Links zu erhöhen, gab es bereits vor
  1036.   längerer Zeit Vorschläge zu einer kompatiblen Protokollmodifikation,
  1037.   den sogenannten "Framesammler". Dieser wurde nun auch in TFKISS ein-
  1038.   gebaut.
  1039.  
  1040.   Laut AX-25 Protokoll verwirft der Empfänger Frames, die zwar korrekt
  1041.   demoduliert wurden, deren Sendefolgenummer jedoch nicht stimmt.
  1042.   Ein Beispiel:
  1043.   Der Sender schickt Pakete mit den Folgenummern 1, 2, 3, 4, 5;
  1044.   der Empfänger bekommt aber nur 1, 2, und 4, 5 fehlerfrei;
  1045.   er ignoriert daher die Frames 4 und 5 und sendet REJ 3;
  1046.   der Sender schickt nun 3, 4, 5, 6, 7, also auch jene Frames (4 + 5),
  1047.   die ja bereits korrekt übertragen wurden.
  1048.  
  1049.   Hier setzt der Framesammler an. Das Beispiel würde nun folgendermaßen
  1050.   ablaufen:
  1051.  
  1052.   wie oben angenommen hatte der Empfänger 1, 2, 4, 5 demoduliert.
  1053.   Da die Reihenfolge offensichtlich gestört ist, speichert er Nummer
  1054.   4 und 5 und sendet REJ 3;
  1055.   der Sender schickt nur Frame Nummer 3;
  1056.   empfangsseitig werden nun 3, 4 und 5 angezeigt und RR 6 gesendet;
  1057.   der Sender setzt fort mit 6, 7, 0, 1, 2.
  1058.   Die Frames 4 und 5 müssen also nicht wiederholt werden.
  1059.  
  1060.  
  1061.  
  1062. Das Software-Interface
  1063. ======================
  1064.  
  1065.   TFKISS kommuniziert mit Terminalprogrammen über einen Softwareinterrupt.
  1066.   Folgende Unterfunktionen sind implementiert:
  1067.  
  1068.   Funktion: STATUS abfragen
  1069.                Nachsehen ob ein Zeichen zum Abholen bereit ist.
  1070.  
  1071.   Register AH: 1
  1072.   Rückgabe   : Wenn AL = 0  nichts da,
  1073.                     AL = 1  Zeichen zum Abholen bereit.
  1074.  
  1075.  
  1076.   Funktion: GET
  1077.                Zeichen abholen. Nur aufrufen nachdem Funktion 1 Zeichen
  1078.                bereit gemeldet hat!
  1079.  
  1080.   Register AH: 2
  1081.   Rückgabe   : AL = Zeichen
  1082.  
  1083.  
  1084.   Funktion: PUT
  1085.                Zeichen an TFKISS schicken.
  1086.  
  1087.   Register AH: 3
  1088.   Register AL: Zeichen
  1089.   Rückgabe   : keine
  1090.  
  1091.  
  1092. Funktion: GET POINTERS
  1093.                Zeiger auf den "default Parameter Block" und auf die
  1094.                "Debug/Error Counter" eines bereits residenten TFKISS
  1095.                ermitteln.
  1096.  
  1097.   Register AH: 5
  1098.   Rückgabe   : Wenn AX = 0  Ergebnis gültig.
  1099.                Anderenfalls Ergebnis ungültig.
  1100.        ES:BX : Far-Zeiger auf den default Parameter Block.
  1101.        ES:DX : Far-Zeiger auf Debug/Error Array.
  1102.  
  1103.  
  1104.  
  1105. Erweiterte Funktionen kompatibel zu TFPCX 2.0:
  1106.  
  1107. Funktion: Port und Kanalzahl abfragen
  1108.  
  1109.   Register AH: FB
  1110.   Rückgabe   :
  1111.            AL: Anzahl der Hardware-Ports (immer 1)
  1112.            AH: Anzahl eingestellter Kanäle (Y-Befehl)
  1113.  
  1114.  
  1115. Funktion: Sende- und Empfangsstatus
  1116.  
  1117.   Register AH: FC
  1118.   Rückgabe   :
  1119.            AL: Empfangsstatus, 0..inaktiv  1..es kommen Daten
  1120.            AH: Sendestatus, 0..inaktiv  1..es werden Daten gesendet
  1121.  
  1122.  
  1123. Funktion: TX-Busy Flag
  1124.  
  1125.   Register AH: FD
  1126.   Rückgabe   :
  1127.            AX:  0..TX-Busy (nicht genügend Framebuffer verfügbar)  1..ok
  1128.  
  1129.  
  1130. Funktion: get Driver Type
  1131.  
  1132.   Register AH: FE
  1133.   Rückgabe   :
  1134.            AX: Bits: 15 14 13 12    11 10 09 08    07 06 05 04 03 02 01 00
  1135.                      Treiberklasse  Hauptversion   Subversion (0..99 dez)
  1136.  
  1137.                TFKISS hat die Treiberklasse E
  1138.               (TFPCR (DL1MEN Original) -"-  F
  1139.                TFPCX Version 2.0       -"-  0).
  1140.  
  1141.  
  1142.  
  1143. NORD><LINK
  1144. ==========
  1145.  
  1146.   An dieser Stelle möchten wir uns bei NORD><LINK und insbesondere Peter,
  1147.   DB2OS, für die Bereitschaft bedanken, uns die Quellen der aktuellen
  1148.   TheFirmware-Version zur Verfügung zu stellen!
  1149.  
  1150.   NORD><LINK ist ein Verein zur Förderung der digitalen Betriebsarten im
  1151.   Amateurfunk. NORD><LINK Mitglieder haben seit der Einführung der Betriebsart
  1152.   Datenpaketfunk (Packet Radio, AX.25) im Amateurfunk verschiedene Programme
  1153.   für die Benutzer und Netzknotenbetreiber entwickelt:
  1154.  
  1155.   TheFirmware: User-Software für alle TNC's, inklusive DAMA, KISS und
  1156.                WA8DED Hostmode.
  1157.   TheNetNode:  Netzknoten-Software für alle Digis auf TNC, PC und
  1158.                ATARI-ST Basis.
  1159.   DieBox:      Die Mailboxsoftware.
  1160.  
  1161.   Die NORD><LINK Software ist nicht-kommerziell und wird Funkamateuren zum
  1162.   Ausbau des Packet Radio Netzes im Rahmen der ALAS Lizenz kostenlos zur
  1163.   Verfügung gestellt.
  1164.  
  1165.  
  1166.  
  1167. Copyright
  1168. =========
  1169.  
  1170.   TFKISS unterliegt der ALAS Lizenz. Es darf zur nichtkommerziellen Nutzung
  1171.   frei kopiert und weitergegeben werden.
  1172.  
  1173.   Das Programm wurde sorgfältig getestet und alle bekannten Fehler behoben.
  1174.   Die Autoren sind jedoch in keinem Falle haftbar für Störungen oder
  1175.   Beschädigungen irgendwelcher Art, die sich aus der Verwendung von TFKISS
  1176.   mittelbar oder unmittelbar ergeben könnten.
  1177.  
  1178.   Noch was: TFKISS ist ein Produkt unseres Hobbys und in der Freizeit aus
  1179.   Spaß an der Sache entstanden. Bitte bedenken Sie das VOR dem Absenden
  1180.   bitterböser Mails an ALL @ WW falls mal etwas nicht richtig funktioniert.
  1181.   Seriöse Bug Reports und Verbesserungsvorschläge sind jederzeit willkommen!
  1182.  
  1183.   Wien im Oktober 1995
  1184.  
  1185.                               Vy 73 de Harald OE1HHC @ OE3XBS.AUT.EU
  1186.                                   & Gottfried OE3GMW @ OE3XBS.AUT.EU
  1187.  
  1188.